<?php
namespace Common\Lib\Util;

/**
 * 验证类
 * @author Administrator
 *
 */
class Validate {
	
	/**
	 * 验证手机号
	 * @param string $mobile
	 * @return boolean
	 */
	public static function isMobile($mobile='') {
		if (!preg_match('/^1[34578]{1}\d{9}$/',$mobile)){
			return false;
		}
		return true;
	}
	
	/**
	 * 验证邮箱地址
	 * @param string $email
	 * @return boolean
	 */
	public static function isEmail($email='') {
		if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
			return false;
		}
		return true;
	}
	
	/**
	 * 验证url地址
	 * @param string $url
	 * @return boolean
	 */
	public static function isUrl($url='') {
		if(!filter_var($url, FILTER_VALIDATE_URL)) {
			return false;
		}
		return true;
	}
	
	/**
	 * 验证ip
	 * @return boolean
	 */
	public static function isIp($ip='') {
		if(!filter_var($ip, FILTER_VALIDATE_IP)) {
			return false;
		}
		return true;
	}
	
	/**
	 * 验证整数
	 * @param string $str
	 * @return boolean
	 */
	public static function isInt($str='') {
		if (!filter_var($str, FILTER_VALIDATE_INT)) {
			return false;
		}
		return true;
	}
	
	/**
	 * 验证小数
	 * @param string $str
	 * @param number $num: 小数位数，默认最多2位
	 * @return boolean
	 */
	public static function isDecimal($str='',$num=2) {
		if (!preg_match('/^[1-9]+[0-9]*(\.\d{0,'.$num.'})?$/',$str)){
			return false;
		}
		return true;
	}
	
	/**
	 * 验证字符串是否为空
	 * @param string $str
	 */
	public static function isEmpty($str=''){
		$str = strval($str);
		if (is_null($str) || $str == '') {
			return true;
		}
		return false;
	}
	
	/**
	 * 验证身份证
	 * @param string $str
	 * @return boolean
	 */
	public static function isCardId($str=''){
		return CardVerify::validation($str);
	}
}